package com.julis.db;

import android.content.Context;

import com.j256.ormlite.dao.Dao;
import com.julis.bean.Life_UserInfo;
import com.julis.bean.ObuTrade_Info;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.UUID;


/**
 * Created by luoliwen on 16/4/28.
 * 完成对数据库的CRUD的操作
 */
public class Z_TradeInfoDao {
    private Context context;
    private Dao<ObuTrade_Info, Integer> obudao;
    private Z_DataBaseHelper helper;

    public Z_TradeInfoDao(Context context) {
        this.context = context;
        helper = Z_DataBaseHelper.getInstance(context);
        try {
            obudao = helper.getDao(ObuTrade_Info.class);
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

    /**
     * 加入交易记录
     *
     * @param
     * @param
     * @param sn
     * @param mac
     * @param results
     * @param timelong
     * @param remarks
     */
    public void addTrade(String sn, String mac, String results, String timelong, String remarks
    ) {
        try {
            UUID UUIDs = UUID.randomUUID();
            String index = UUIDs.toString().substring(0, 8);
            SimpleDateFormat formatter = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
            Date curDate = new Date(System.currentTimeMillis());

            String checktime = formatter.format(curDate);
            ObuTrade_Info trade_info = new ObuTrade_Info(index, checktime, sn, mac, results, timelong, remarks);
            obudao.create(trade_info);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    List<ObuTrade_Info> account1 = new ArrayList<ObuTrade_Info>();

    public List<ObuTrade_Info> query(String checktimestart,String checktimeend) {
        try {
            account1.clear();
            account1 = obudao.queryBuilder().where().between("checktime", checktimestart, checktimeend).query();


        } catch (Exception e) {
            e.printStackTrace();
        }
        return account1;
    }

    //    public Trade_Info getTrade_Info(String id) {
//        try {
//            Trade_Info account1 = obudao.queryBuilder().where().eq("id", id).query().get(0);
//            return account1;
//
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        return null;
//    }
////    List<Trade_Info> ccList = new ArrayList<Trade_Info>();
//
    public List<ObuTrade_Info> queryForAll() {
        try {
            List<ObuTrade_Info> account1 = obudao.queryForAll();
            return account1;

        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
//
//    /**
//     * 更新录入OBU
//     * @param uuid
//     * @param obucode
//     * @param vin_input_time
//     */
//    public void  queryupdatetime(String uuid, String obucode, String vin_input_time, String obu_input_success) {
//
//
//        try {
//
//
//            UpdateBuilder<Trade_Info, Integer> life_devicesIntegerUpdateBuilder = obudao.updateBuilder();
//            life_devicesIntegerUpdateBuilder.updateColumnValue("obu_code", obucode).where().eq("id", uuid);
//            life_devicesIntegerUpdateBuilder.updateColumnValue("obu_input_time", vin_input_time).where().eq("id", uuid);
//            life_devicesIntegerUpdateBuilder.updateColumnValue("obu_input_success", obu_input_success).where().eq("id", uuid);
//            life_devicesIntegerUpdateBuilder.update();
//
//
//
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//
//    }
//
//    /**
//     * 更新检测
//     * @param uuid
//     * @param obu_check_success
//     * @param ble_check_success
//     * @param vin_write_success
//     * @param device_check_time
//     */
//    public void  queryupdatedevice(String uuid,
//                                   String obu_check_success,
//                                   String ble_check_success,
//                                   String vin_write_success,
//    String device_check_time) {
//
//
//        try {
//            UpdateBuilder<Trade_Info, Integer> life_devicesIntegerUpdateBuilder = obudao.updateBuilder();
//            life_devicesIntegerUpdateBuilder.updateColumnValue("obu_check_success", obu_check_success).where().eq("id", uuid);
//            life_devicesIntegerUpdateBuilder.updateColumnValue("ble_check_success", ble_check_success).where().eq("id", uuid);
//            life_devicesIntegerUpdateBuilder.updateColumnValue("vin_write_success", vin_write_success).where().eq("id", uuid);
//            life_devicesIntegerUpdateBuilder.updateColumnValue("device_check_time", device_check_time).where().eq("id", uuid);
//            life_devicesIntegerUpdateBuilder.update();
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//
//    }
}
